package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 付款单-收款人明细对象 erp_king_finance_pay_payees_info
 * @author wutao
 * @date 2024-09-08
 */
@TableName ("erp_king_finance_pay_payees_info")
@ApiModel (value = "erp_king_finance_pay_payees_info对象", description = "付款单-收款人明细")
@Data
public class KingFinancePayPayeesEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 付款单Id
     */
    @ApiModelProperty ("付款单Id")
    @TableField ("pay_id")
    @Excel (name = "付款单Id")
    private String payId;

    /**
     * 序号
     */
    @ApiModelProperty ("序号")
    @TableField ("line_number")
    @Excel (name = "序号")
    private Long lineNumber;

    /**
     * 结算方式
     */
    @ApiModelProperty ("结算方式")
    @TableField ("king_settlement_type_code")
    @Excel (name = "结算方式")
    private String kingSettlementTypeCode;

    /**
     * 收款单位类型
     */
    @ApiModelProperty ("收款单位类型")
    @TableField ("receipt_dept_type")
    @Excel (name = "收款单位类型")
    private String receiptDeptType;

    /**
     * 收款单位
     */
    @ApiModelProperty ("收款单位")
    @TableField ("receipt_dept_id")
    @Excel (name = "收款单位")
    private String receiptDeptId;

    /**
     * 应付金额
     */
    @ApiModelProperty ("应付金额")
    @TableField ("cope_money")
    @Excel (name = "应付金额")
    private String copeMoney;

    /**
     * 付款金额
     */
    @ApiModelProperty ("付款金额")
    @TableField ("pay_money")
    @Excel (name = "付款金额")
    private String payMoney;

    /**
     * 我方银行账号
     */
    @ApiModelProperty ("我方银行账号")
    @TableField ("bank_number")
    @Excel (name = "我方银行账号")
    private String bankNumber;

    /**
     * 我方银行账户名称
     */
    @ApiModelProperty ("我方银行账户名称")
    @TableField ("bank_name")
    @Excel (name = "我方银行账户名称")
    private String bankName;

    /**
     * 国别Id
     */
    @ApiModelProperty ("国别Id")
    @TableField ("country_id")
    @Excel (name = "国别Id")
    private String countryId;

    /**
     * 省份Id
     */
    @ApiModelProperty ("省份Id")
    @TableField ("province_id")
    @Excel (name = "省份Id")
    private String provinceId;

    /**
     * 城市Id
     */
    @ApiModelProperty ("城市Id")
    @TableField ("city_id")
    @Excel (name = "城市Id")
    private String cityId;

    /**
     * 区县Id
     */
    @ApiModelProperty ("区县Id")
    @TableField ("county_id")
    @Excel (name = "区县Id")
    private String countyId;

    /**
     * 银行网点
     */
    @ApiModelProperty ("银行网点")
    @TableField ("bank_branches")
    @Excel (name = "银行网点")
    private String bankBranches;

    /**
     * 对方开户行
     */
    @ApiModelProperty ("对方开户行")
    @TableField ("other_size_bank")
    @Excel (name = "对方开户行")
    private String otherSizeBank;

    /**
     * 开户地址
     */
    @ApiModelProperty ("开户地址")
    @TableField ("bank_address")
    @Excel (name = "开户地址")
    private String bankAddress;

    /**
     * 联行号
     */
    @ApiModelProperty ("联行号")
    @TableField ("interbank_number")
    @Excel (name = "联行号")
    private String interbankNumber;

    /**
     * 对方银行账号
     */
    @ApiModelProperty ("对方银行账号")
    @TableField ("other_size_bank_account")
    @Excel (name = "对方银行账号")
    private String otherSizeBankAccount;

    /**
     * 对方账户名称
     */
    @ApiModelProperty ("对方账户名称")
    @TableField ("other_size_bank_name")
    @Excel (name = "对方账户名称")
    private String otherSizeBankName;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 收款方类型,1:企业;2:个人
     */
    @ApiModelProperty ("收款方类型,1:企业;2:个人")
    @TableField ("payee_type")
    @Excel (name = "收款方类型,1:企业;2:个人")
    private Integer payeeType;

    /**
     * 入账类型；1：并笔入账；2：逐笔入账
     */
    @ApiModelProperty ("入账类型；1：并笔入账；2：逐笔入账")
    @TableField ("account_type")
    @Excel (name = "入账类型；1：并笔入账；2：逐笔入账")
    private Integer accountType;

    /**
     * 支付类型；1：普通支付；2：代理支付；3：代发工资
     */
    @ApiModelProperty ("支付类型；1：普通支付；2：代理支付；3：代发工资")
    @TableField ("pay_type")
    @Excel (name = "支付类型；1：普通支付；2：代理支付；3：代发工资")
    private Integer payType;

    /**
     * 加急标志；1：普通；2：加急；3：特急
     */
    @ApiModelProperty ("加急标志；1：普通；2：加急；3：特急")
    @TableField ("urgent_flag")
    @Excel (name = "加急标志；1：普通；2：加急；3：特急")
    private Integer urgentFlag;

    /**
     * 付款时间
     */
    @ApiModelProperty ("付款时间")
    @TableField ("pay_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    @Excel (name = "是否可用")
    private Integer isUsed;

    @ApiModelProperty ("结算方式名称")
    @TableField (exist = false)
    private String kingSettlementTypeName;

    @ApiModelProperty ("收款单位类型")
    @TableField (exist = false)
    private String receiptDeptName;

}
